---
title: Linux 服务器发行版汇总
description: 主流 Linux 服务器发行版（RHEL 家族、Debian/Ubuntu、SUSE、Fedora、Arch、Alpine 等）的简介、适用场景、安装获取方式与命令差异对照。
---

## 概览与如何选择

- 企业稳定且需要商业支持：优先 Red Hat Enterprise Linux（RHEL）、SUSE Linux Enterprise Server（SLES）；若不需付费支持，选 Rocky Linux/AlmaLinux（RHEL 下游替代）。
- 云上（AWS/Azure/GCP）优先：Ubuntu LTS、Debian Stable、Amazon Linux（AWS）。
- 社区稳定且长期维护：Debian Stable、Ubuntu LTS、openSUSE Leap。
- 追新技术与较新内核：Fedora Server、openSUSE Tumbleweed。
- 极致轻量与容器场景：Alpine Linux。
- 需要完全自定义/滚动发行：Arch Linux（需较强维护能力）。

> 说明：CentOS Linux（传统稳定版）已停止维护，官方转向 CentOS Stream（滚动预览 RHEL 的上游/中游）。生产环境更建议 Rocky/Alma 这类 RHEL 兼容发行版。

---

## 命令差异对照（核心）

### 包管理器

- Debian/Ubuntu（APT）
  - 刷新与升级：
    ```bash
    sudo apt update && sudo apt upgrade -y
    ```
  - 安装/搜索/移除：
    ```bash
    sudo apt install <pkg>
    apt search <keyword>
    sudo apt remove <pkg>
    ```

- RHEL 家族（RHEL/CentOS Stream/Rocky/Alma、Amazon Linux 2023）（DNF/YUM）
  - 升级：
    ```bash
    sudo dnf upgrade -y  # dnf=新式，yum 在很多系统上为 dnf 的软链接
    ```
  - 安装/搜索/移除：
    ```bash
    sudo dnf install <pkg>
    dnf search <keyword>
    sudo dnf remove <pkg>
    ```

- SUSE 家族（SLES/openSUSE）（Zypper）
  - 刷新与升级：
    ```bash
    sudo zypper refresh && sudo zypper update -y
    ```
  - 安装/搜索/移除：
    ```bash
    sudo zypper in <pkg>
    zypper se <keyword>
    sudo zypper rm <pkg>
    ```

- Fedora（DNF）
  ```bash
  sudo dnf upgrade -y
  sudo dnf install <pkg>
  ```

- Arch（pacman）
  ```bash
  sudo pacman -Syu             # 更新系统
  sudo pacman -S <pkg>         # 安装
  pacman -Ss <keyword>         # 搜索
  sudo pacman -Rns <pkg>       # 移除并清理
  ```

- Alpine（apk）
  ```bash
  sudo apk update && sudo apk upgrade
  sudo apk add <pkg>
  apk search <keyword>
  sudo apk del <pkg>
  ```

### 服务管理（systemd/OpenRC）
- 大多数主流服务器（RHEL/Debian/Ubuntu/SUSE/Fedora/Arch）均使用 systemd：
  ```bash
  sudo systemctl status <service>
  sudo systemctl start|stop|restart <service>
  sudo systemctl enable|disable <service>
  ```
- Alpine 默认使用 OpenRC：
  ```bash
  rc-status
  sudo rc-service <service> start|stop|restart
  sudo rc-update add <service> default
  ```

### 防火墙
- RHEL/SUSE/Fedora（firewalld）：
  ```bash
  sudo firewall-cmd --add-service=ssh --permanent
  sudo firewall-cmd --reload
  sudo firewall-cmd --list-all
  ```
- Ubuntu（UFW，底层 nftables/iptables）：
  ```bash
  sudo ufw enable
  sudo ufw allow 22/tcp
  sudo ufw status verbose
  ```
- 直接使用 nftables（通用）：
  ```bash
  sudo nft list ruleset
  sudo nft add rule inet filter input tcp dport 22 accept
  ```

### 网络配置（常见方式）
- Ubuntu Server：Netplan（/etc/netplan/*.yaml）
  ```bash
  sudo nano /etc/netplan/01-netcfg.yaml
  sudo netplan apply
  ```
- RHEL 家族：NetworkManager/nmcli
  ```bash
  nmcli device status
  sudo nmcli con add type ethernet ifname eth0 con-name eth0 \
    ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 \
    ipv4.dns 8.8.8.8 ipv4.method manual
  sudo nmcli con up eth0
  ```
- Debian：传统 ifupdown 或 systemd-networkd（视版本/选择）
  - ifupdown（/etc/network/interfaces）：
    ```bash
    auto eth0
    iface eth0 inet static
      address 192.168.1.10/24
      gateway 192.168.1.1
      dns-nameservers 8.8.8.8
    ```
    应用：`sudo ifdown eth0 && sudo ifup eth0`
  - systemd-networkd（/etc/systemd/network/*.network）：
    ```ini
    [Match]
    Name=eth0
    [Network]
    Address=192.168.1.10/24
    Gateway=192.168.1.1
    DNS=8.8.8.8
    ```
    应用：`sudo systemctl restart systemd-networkd`
- SUSE：wicked/NetworkManager 或 YaST（图形/文本）

### 安全机制
- RHEL 家族默认 SELinux：
  ```bash
  getenforce
  sudo setenforce 0|1
  sudo nano /etc/selinux/config  # SELINUX=enforcing|permissive|disabled
  ```
- Ubuntu 默认 AppArmor：
  ```bash
  aa-status
  sudo systemctl status apparmor
  ```

---

## 发行版详解

### RHEL 家族

#### Red Hat Enterprise Linux（RHEL）
- 特点：企业级稳定，长周期维护、安全补丁及时；付费订阅提供官方支持与认证生态（ISV/HW）。
- 适用：金融/政府/大企业生产环境，有合规要求与支持需求的场景。
- 包管理：dnf/yum，订阅仓库（subscription-manager）管理。
- 常用：
  ```bash
  sudo subscription-manager register
  sudo dnf repolist
  sudo dnf install httpd
  sudo systemctl enable --now httpd
  ```

#### CentOS Stream（取代传统 CentOS Linux）
- 定位：介于 Fedora 与 RHEL 之间的滚动发行，作为 RHEL 的“预览/中游”源。并非传统意义的“稳定 LTS”。
- 适用：需要更接近 RHEL 的开发/测试环境，对版本变动容忍度较高。
- 备注：传统 CentOS Linux（如 8）已 EOL，生产环境更推荐 Rocky/Alma。

#### Rocky Linux / AlmaLinux
- 定位：与 RHEL 保持 1:1 兼容的社区企业发行版，适合从旧 CentOS 平滑迁移。
- 适用：企业生产环境、需要 RHEL 生态兼容但不购买官方订阅。
- 包管理：dnf/yum，EPEL 常配合使用。
- 示例：
  ```bash
  sudo dnf install epel-release -y
  sudo dnf install nginx -y
  ```

#### Oracle Linux（可选）
- 特点：与 RHEL 高度兼容；提供 UEK（Unbreakable Enterprise Kernel）供高性能场景选择；可免费使用，商业支持可选。

#### Amazon Linux 2023（AWS 专用）
- 特点：为 AWS 优化，安全默认较严格，起步镜像轻量；使用 dnf；与多种 AWS 服务深度集成。
- 适用：运行在 EC2/容器的云原生工作负载。

### Debian 家族

#### Debian Stable
- 特点：以稳定著称，软件版本相对保守但可靠；适合服务器与长期维护场景。
- 包管理：apt/dpkg。
- 示例：
  ```bash
  sudo apt update && sudo apt upgrade -y
  sudo apt install nginx
  sudo systemctl enable --now nginx
  ```

#### Ubuntu Server（LTS 建议）
- 特点：发行节奏快，LTS 版本提供 5 年支持（可选 ESM）；云镜像广泛、文档社区丰富；默认 AppArmor、使用 Netplan。
- 适用：通用服务器、云场景、快速交付。
- 示例：
  ```bash
  sudo apt update && sudo apt install -y docker.io
  sudo systemctl enable --now docker
  ```

### SUSE 家族

#### SUSE Linux Enterprise Server（SLES）
- 特点：企业级支持，Btrfs + Snapper 提供快照回滚；在 SAP/SUSE 生态表现强。
- 包管理：zypper；管理工具：YaST。

#### openSUSE Leap / Tumbleweed
- Leap：稳定发布，适合服务器；Tumbleweed：滚动发行，软件较新。
- 示例：
  ```bash
  sudo zypper in nginx
  sudo systemctl enable --now nginx
  ```

### Fedora Server
- 特点：较新内核与技术预览，许多特性会下游到 RHEL；适合开发/测试与爱好者服务器。
- 包管理：dnf。

### Arch Linux
- 特点：滚动发行，极简且完全可定制；需要较强 Linux 经验与维护投入。
- 包管理：pacman；AUR 可获取更多软件（通过 yay 等辅助工具）。

### Alpine Linux
- 特点：musl libc + busybox，极致轻量；非常适合容器与小型虚机；默认 OpenRC。
- 包管理：apk。

---

## 常见运维任务对照

### 创建用户与权限
```bash
# 通用（useradd 更底层，adduser 在 Debian/Ubuntu 更为友好）
sudo adduser devuser   # 交互式创建（Debian/Ubuntu 更常见）
sudo useradd -m devuser && sudo passwd devuser
sudo usermod -aG sudo devuser     # Debian/Ubuntu 授权 sudo 组
sudo usermod -aG wheel devuser    # RHEL 家族授权 wheel 组（需确保 sudo 安装与 wheel 组可用）
```

### 日志与诊断
```bash
# systemd 日志
journalctl -u nginx --since "1 hour ago"
# 实时查看
journalctl -f
# 磁盘/内存/网络
lsblk -f
free -h
ip a
ss -lntp
```

### 文件系统与默认差异（概览）
- RHEL 家族：常用 XFS 为默认文件系统。
- Ubuntu/Debian：ext4 为主；Ubuntu 桌面常配合 ZFS 选项（服务器可选）。
- Fedora：默认 Btrfs（含快照能力）。
- SUSE：Btrfs（root）+ XFS（/home）常见组合，支持快照回滚。

---

## 常见服务栈部署手册

本章节给出最常用服务在不同发行版上的安装方式、关键配置路径与启停命令差异，默认均以 systemd 管理（Alpine 使用 OpenRC 特别注明）。请结合前文“包管理器/防火墙/SELinux/AppArmor/网络”章节执行。

### 1) Nginx 反向代理/静态站点
- 安装
  - Debian/Ubuntu：
    ```bash
    sudo apt update && sudo apt install -y nginx
    ```
  - RHEL 家族（Rocky/Alma/RHEL/Fedora）：
    ```bash
    sudo dnf install -y nginx
    ```
  - SUSE：
    ```bash
    sudo zypper in -y nginx
    ```
  - Arch：
    ```bash
    sudo pacman -Syu --noconfirm nginx
    ```
  - Alpine（OpenRC）：
    ```bash
    sudo apk add nginx
    sudo rc-update add nginx default
    sudo rc-service nginx start
    ```
- 配置路径差异
  - Debian/Ubuntu：/etc/nginx/sites-available 与 /etc/nginx/sites-enabled（推荐为每站点创建独立 server 块）。
  - RHEL/SUSE/Fedora/Arch：/etc/nginx/nginx.conf 与 /etc/nginx/conf.d/*.conf。
- 示例站点（80 端口）
  ```nginx
  server {
    listen 80;
    server_name _;
    root /var/www/html;
    index index.html index.htm;
    # 反向代理示例
    # location /api/ {
    #   proxy_pass http://127.0.0.1:3000/;
    #   proxy_set_header Host $host;
    #   proxy_set_header X-Real-IP $remote_addr;
    # }
  }
  ```
- 启停与开机自启
  ```bash
  sudo systemctl enable --now nginx
  sudo systemctl status nginx
  ```
- 防火墙/SELinux
  - UFW：`sudo ufw allow 'Nginx Full'`
  - firewalld：`sudo firewall-cmd --add-service=http --add-service=https --permanent && sudo firewall-cmd --reload`
  - SELinux（Nginx 需要访问上游端口时）：
    ```bash
    sudo setsebool -P httpd_can_network_connect on
    # 如需监听非常规端口（例 8080）：
    # sudo semanage port -a -t http_port_t -p tcp 8080
    ```

### 2) Apache HTTP Server（httpd）
- 安装
  - Debian/Ubuntu：`sudo apt install -y apache2`
  - RHEL 家族/Fedora：`sudo dnf install -y httpd`
  - SUSE：`sudo zypper in -y apache2`
  - Arch：`sudo pacman -Syu --noconfirm apache`
  - Alpine（OpenRC）：`sudo apk add apache2 && sudo rc-update add apache2 default && sudo rc-service apache2 start`
- 配置路径差异
  - Debian/Ubuntu：/etc/apache2/；站点在 sites-available/sites-enabled；启用站点/模块：`a2ensite`/`a2dissite`、`a2enmod`/`a2dismod`。
  - RHEL/Fedora：/etc/httpd/conf/httpd.conf 与 /etc/httpd/conf.d/*.conf。
  - SUSE：/etc/apache2/；vhost 放置 /etc/apache2/vhosts.d/。
- 启停/自启：`sudo systemctl enable --now apache2|httpd`
- 防火墙：同 Nginx。SELinux：如需代理上游同样设置 `httpd_can_network_connect`。

### 3) PHP 与 PHP-FPM（Nginx + PHP、或 Apache + PHP）
- 安装
  - Debian/Ubuntu：`sudo apt install -y php php-fpm php-cli php-mysql php-curl php-xml php-gd`
  - RHEL/Fedora（启用 EPEL/Remi 可获更新版）：`sudo dnf install -y php php-fpm php-cli php-mysqlnd php-gd php-xml`
  - SUSE：`sudo zypper in -y php8 php8-fpm php8-mysql php8-gd php8-xml`（版本号视仓库）
  - Arch：`sudo pacman -Syu --noconfirm php php-fpm`
  - Alpine：`sudo apk add php81 php81-fpm php81-session php81-pdo_mysql`（版本按分支变化）
- 关键差异（FPM 套接字路径）
  - Debian/Ubuntu：/run/php/phpX.Y-fpm.sock（示例 /run/php/php8.1-fpm.sock）
  - RHEL/Fedora：/run/php-fpm/www.sock
- Nginx 转发 PHP 到 FPM 示例
  ```nginx
  location ~ \.php$ {
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    # Ubuntu/Debian：
    # fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    # RHEL/Fedora：
    # fastcgi_pass unix:/run/php-fpm/www.sock;
  }
  ```
- 启停：`sudo systemctl enable --now php-fpm`（Debian/Ubuntu 服务可能为 `php8.1-fpm` 等带版本号）。
- Apache 直连 PHP 的替代：Debian/Ubuntu 可 `sudo apt install libapache2-mod-php` 并 `a2enmod php*`，更推荐使用 FPM + `proxy_fcgi`。

### 4) 数据库（MySQL/MariaDB、PostgreSQL）
- MariaDB（更通用，许多发行版默认）：
  - 安装：
    - Debian/Ubuntu：`sudo apt install -y mariadb-server`
    - RHEL/Fedora：`sudo dnf install -y mariadb-server`
    - SUSE：`sudo zypper in -y mariadb`
    - Arch：`sudo pacman -Syu --noconfirm mariadb`
    - Alpine：`sudo apk add mariadb mariadb-client`
  - 初始化与安全：
    ```bash
    sudo systemctl enable --now mariadb  # Alpine: sudo rc-service mariadb start
    sudo mysql_secure_installation
    ```
- MySQL Community Server（如需官方仓库新版本，参考官网添加 repo）
  - Debian/Ubuntu：`sudo apt install -y mysql-server`
  - RHEL：通常默认仓库为 MariaDB；如需 MySQL，添加官方 repo 后 `sudo dnf install mysql-community-server`
- PostgreSQL：
  - 安装：
    - Debian/Ubuntu：`sudo apt install -y postgresql`
    - RHEL/Fedora：`sudo dnf install -y postgresql-server`
    - SUSE：`sudo zypper in -y postgresql-server`
    - Arch：`sudo pacman -Syu --noconfirm postgresql`
  - 初始化（RHEL/Fedora/SUSE/Arch 常需）：
    ```bash
    # RHEL/Fedora
    sudo postgresql-setup --initdb --unit postgresql
    sudo systemctl enable --now postgresql
    ```
  - 创建数据库与用户：
    ```bash
    sudo -u postgres psql -c "CREATE ROLE app WITH LOGIN PASSWORD 'StrongPass!';"
    sudo -u postgres psql -c "CREATE DATABASE appdb OWNER app;"
    ```

### 5) Node.js 运行时
- 方案 A：发行版仓库（简单但版本可能偏旧）
  - Debian/Ubuntu：`sudo apt install -y nodejs npm`
  - RHEL/Fedora：`sudo dnf install -y nodejs npm`
  - SUSE：`sudo zypper in -y nodejs npm`
  - Arch：`sudo pacman -Syu --noconfirm nodejs npm`
  - Alpine：`sudo apk add nodejs npm`
- 方案 B：nvm（按需切换版本，需评估安全后执行）
  ```bash
  curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  source ~/.bashrc  # 或 ~/.zshrc
  nvm install --lts && nvm use --lts
  ```

### 6) Docker 与 Compose（或 Podman）
- Docker（Ubuntu/Debian 快速安装）
  ```bash
  sudo apt update
  sudo apt install -y ca-certificates curl gnupg
  sudo install -m 0755 -d /etc/apt/keyrings
  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(. /etc/os-release; echo $ID) \
  $(. /etc/os-release; echo $VERSION_CODENAME) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  sudo usermod -aG docker $USER  # 重新登录生效
  sudo systemctl enable --now docker
  docker run --rm hello-world
  ```
- Docker（RHEL/Fedora/Rocky/Alma 摘要）
  ```bash
  sudo dnf -y install dnf-plugins-core
  sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo  # RHEL系选择对应 repo
  sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  sudo systemctl enable --now docker
  ```
- Compose v2：`docker compose up -d`
- Podman（免守护、RHEL 系官方支持良好）：
  ```bash
  sudo dnf install -y podman
  alias docker=podman  # 临时兼容常用命令
  ```

### 7) Kubernetes（kubeadm 实验/小规模集群）
- 先决条件（所有节点）
  ```bash
  sudo swapoff -a && sudo sed -i.bak '/ swap / s/^/#/' /etc/fstab
  sudo modprobe br_netfilter
  echo 'net.bridge.bridge-nf-call-iptables=1' | sudo tee /etc/sysctl.d/k8s.conf
  echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.d/k8s.conf
  sudo sysctl --system
  ```
- 安装 containerd 并启用 SystemdCgroup（示例 Ubuntu）：
  ```bash
  sudo apt install -y containerd
  sudo mkdir -p /etc/containerd
  containerd config default | sudo tee /etc/containerd/config.toml
  sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
  sudo systemctl enable --now containerd
  ```
- 安装 kubeadm/kubelet/kubectl（以 Debian/Ubuntu 为例）
  ```bash
  curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
  echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | \
  sudo tee /etc/apt/sources.list.d/kubernetes.list
  sudo apt update && sudo apt install -y kubelet kubeadm kubectl
  sudo systemctl enable --now kubelet
  ```
- 初始化主节点并安装 CNI（以 Calico 为例）
  ```bash
  sudo kubeadm init --pod-network-cidr=192.168.0.0/16
  mkdir -p ~/.kube && sudo cp /etc/kubernetes/admin.conf ~/.kube/config && sudo chown $(id -u):$(id -g) ~/.kube/config
  kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  ```
- 工作节点加入：在 worker 上执行 master 输出的 `kubeadm join ...` 命令。

### 8) Redis
- 安装
  - Debian/Ubuntu：`sudo apt install -y redis-server`
  - RHEL/Fedora：`sudo dnf install -y redis`
  - SUSE：`sudo zypper in -y redis`
  - Arch：`sudo pacman -Syu --noconfirm redis`
  - Alpine：`sudo apk add redis`
- 配置要点
  - 配置文件：Debian/Ubuntu `/etc/redis/redis.conf`；其他常为 `/etc/redis.conf`。
  - 仅本地访问（默认）：`bind 127.0.0.1 ::1`，生产若对外开放需加防火墙与密码（`requirepass`）。
  - systemd 管理：`sudo systemctl enable --now redis`（Alpine：`rc-service redis start`）。

### 9) 免费证书（Let’s Encrypt/Certbot）
- Ubuntu（snap 推荐）：
  ```bash
  sudo snap install core; sudo snap refresh core
  sudo snap install --classic certbot
  sudo ln -s /snap/bin/certbot /usr/bin/certbot
  # Nginx 一键签发并自动配置
  sudo certbot --nginx -d example.com -d www.example.com
  ```
- RHEL/Fedora：
  ```bash
  sudo dnf install -y certbot python3-certbot-nginx  # 或 python3-certbot-apache
  sudo certbot --nginx -d example.com
  ```
- 自动续期：certbot 默认安装 systemd timer，可通过 `sudo systemctl list-timers | grep certbot` 查看。

---

提示：生产环境请结合发行版官方安全基线与合规要求（SELinux/AppArmor 策略、只开放必要端口、最小权限、备份与监控）。
- RHEL：https://www.redhat.com/
- Rocky Linux：https://rockylinux.org/
- AlmaLinux：https://almalinux.org/
- CentOS Stream：https://www.centos.org/
- Oracle Linux：https://www.oracle.com/linux/
- Amazon Linux：https://aws.amazon.com/amazon-linux-2023/
- Debian：https://www.debian.org/
- Ubuntu：https://ubuntu.com/
- SLES：https://www.suse.com/products/server/
- openSUSE：https://www.opensuse.org/
- Fedora Server：https://fedoraproject.org/server/
- Arch Linux：https://archlinux.org/
- Alpine Linux：https://alpinelinux.org/